package com.huike.clues.domain.dto.mydto;

import com.huike.common.core.domain.BaseEntity;
import io.swagger.annotations.ApiParam;
import lombok.Data;

import javax.validation.constraints.Min;
import javax.validation.constraints.NotNull;
import java.time.LocalDateTime;

/**
 * 活动/渠道相关查询DTO
 */
@Data
public class ActivityQueryDTO extends BaseEntity {

    @ApiParam(name = "channel", value = "渠道来源", required = false)
    private String channel;  // 渠道来源（非必填）

    @ApiParam(name = "code", value = "编码", required = false)
    private String code;  // 编码（非必填）

    /**
     * 当前页（必填，从1开始）
     */
    @NotNull(message = "当前页不能为空")
    @Min(value = 1, message = "当前页必须大于等于1")
    private Integer pageNum;

    /**
     * 每页条数（必填，正整数）
     */
    @NotNull(message = "每页条数不能为空")
    @Min(value = 1, message = "每页条数必须大于等于0") // 允许0表示查全部（视业务场景调整）
    private Integer pageSize;

}